package com.interrupt;


public class Interrupted {

    /**
     * 如果一个线程的run()方法执行一个无线循环，并且没有执行sleep()等会抛出InterruptedException的操作，那么 调用线程的interrupt()方法就h会无法使线程提前结束。
     *
     * 调用interrupt()方法会设置线程的中断标记，此时调用interrupted()方法会返回true,因此可以在循环体中使用interrupted()方法来判断线程是否处于中断状态。从而提前结束线程。
     */
    private static class MyThread2 extends Thread{
        @Override
        public void run(){
            while (!interrupted()) {
                System.out.println("While Run!");
            }
            System.out.println("Thread2 end!");
        }


    }

    public static void main(String[] args) {
        Thread thread2=new MyThread2();
        thread2.start();
        thread2.interrupt();
    }
}
